package cn.actoncode.boot.module.ai.service.ability;

import cn.actoncode.boot.module.ai.dal.dataobject.ability.AbilityUsedRecordDO;

import java.util.List;

/**
 * 能力使用记录 Service 接口
 *
 * @author bin
 */
public interface AbilityUsedRecordService {

    /**
     * 新增能力使用记录
     *
     * @param userId 用户id
     * @param abilityId 能力id
     * @param intelligentAgentId 智能体id
     * @param type 类型
     * @param prompt 提示词
     * @param text 文本
     * @return
     **/
    Long insertAbilityUsedRecord(Long userId, Long abilityId, Long intelligentAgentId,
                                 Integer type, String prompt, String text);

    /**
     * 获取能力使用记录列表
     *
     * @param id 主键
     * @return 能力使用记录列表
     **/
    AbilityUsedRecordDO getAbilityUsedRecord(Long id);

    /**
     * 获取能力使用记录列表
     *
     * @param userId 用户id
     * @return 能力使用记录列表
     **/
    List<AbilityUsedRecordDO> getAbilityUsedRecordList(Long userId);

}
